Document-imaging systems are often used as a platform for the management of healthcare related documents and the integration of multimedia content in a client server environment. Document imaging is often used for long-term storage of patient data and hospital. This data is often received electronically from a clinical or financial system or it can be input from a paper format (e.g., scanning). Electronic data (in particular, demographic data) that is stored by the document-imaging system is often sent via electronic transactions from a third-party source. Inbound transactions from any external application are handled by a receiver application. Transactions are usually sent from the application to an interface engine, which then routes the transactions to Imaging. Imaging can receive Imaging Style Transactions, XML, or HL7 transactions. After a transaction has been received, the transaction is parsed and the database for the document-imaging system is updated. Outbound Transactions are similarly handled by a sending application.
Such systems require tools for applications to acquire, store, organize, display and manage multimedia content (including traditional reports, images, voice, video, etc.). They also require an adequate mechanism to share multimedia content with healthcare applications regardless of where the content originated. Moreover, these document-imaging systems typically require a mechanism to store objects and to make them available on demand. Any application, including these document imaging applications, that generates binary output, such as electronic documents or reports, may thus choose to send this output to a storage manager, which is typically a separate software component to the document imaging platform, via standard operating system interfaces accessible by both the storage manager and the document imaging system.
While commercial software is available to store and retrieve such data, these systems have significant drawbacks that greatly reduce the performance of hierarchical storage management systems.
For example, physically storing related documents on the same on-line, direct-access devices is usually not necessary because hardware access to the data is very fast. As a result, related documents may be archived by the storage manager wherever enough free space exists. It is especially important, however, to group related documents on long-term storage media, especially if the long-term storage media is a near-line, or potentially off-line media. Retrieval of related documents can be slow while the appropriate media is being loaded (whether manual or automatic), so it is important to reduce the number of pieces of media required to satisfy typical user retrieval requests. The systems of the prior art, however, do not have the ability to efficiently group related data on the storage media.
Also, hardware or software failures may sometimes block access to data. Access can remain blocked until the problem has been corrected. This is especially true of hardware failures, where devices need to be repaired, replaced, restored, and/or rebuilt before the data they contained is accessible again to users. As a result, hardware and software errors can cause data to be unavailable. Unfortunately, the systems of the prior art do not have the ability to automatically alternate copy access to alleviate this problem.
Moreover, storage managers typically attempt to provide users with a consistent view of stored data. Users are allowed to access documents that are in a stable state (i.e. the structure of the document is correct and it is not undergoing any modifications). When a document is being changed, the storage manager blocks user access to the document by putting the document in a “transitional” state and blocks access to an individual document while it is performing work on that document to prevent users from getting a misleading or incomplete view of the data.
Failures may occur for a variety of reasons while a document is being stored, retrieved, or manipulated. When these failures occur, the document is placed in an “error” state and the caller is informed that their requested transaction has failed. If nothing further happened to the document, it would be left in a transitional or error state, it would be unavailable to users, and support personnel would have to manually correct the problem before the document would be available again to users. This could result in long periods of time where a document is not accessible, and could result in a significant drain on support personnel to restore documents to a stable, accessible state. The systems of the prior art do not have the ability to automatically make document repairs.
Accordingly, a system is needed that overcomes these disadvantages in the systems of the prior art.